Diffusion oriented method and apparatus for stream cryptography

ABSTRACT

The present invention applies with a diffused mechanism, as such, a variable series of diffusion functions embedded within a diffusion-medium, to generate a maximum diffusion-cycle and nonlinear complexity; additionally, it performs in a serial process for simple design, further, in a parallel process for saving time, or even in a hardware architecture, to gain greater acceleration. FIG.  1  shows an embodiment of the present invention in flow chart diagram form, comprising steps of: selecting a diffusion-area A, a diffusion-medium S, and a diffusion mechanism F t     1      100 ; initializing A by an input password  200 ; performing F t     1    to obtain a new value of A  300 ; inputting a plaintext in encryption or a ciphertext for decryption, bit by bit  400 ; XORing a plaintext bit in encryption or a ciphertext bit in decryption with a certain bit of A for stream output  500 ; continuing until completing the plaintext in encryption, or the ciphertext in decryption  600.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The invention relates to a stream cryptographic method and apparatus therefor. More particularly, the invention relates to a diffusion mechanism for running stream cryptography bit by bit; other than the prior art with a fixed polynomial and Shift operations, the diffusion mechanism is combined flexibly with a variable series of diffusion functions embedded within a diffusion-medium control.

2. Description of the Related Art

The Applicant's following patent application is related to the invention and is incorporated herein by reference: “A Cryptographic Method of Multilayer Diffusion in Multidimension”, application Ser. No. 12/726,833, filed Mar. 18, 2010; the prior invention described a diffusion function for one position AF(p₁, p₂, . . . , p_(n)), notated herein as AF(i₁, i₂, . . . , i_(m))=A⊕Ad_(1i)⊕A_(2i)⊕ . . . ⊕Ad_(mi)⊕S, the encryption/decryption is completed through a diffusion-cycle T, wherein T=2^(U+1), U=┌log₂u┐, u=max(d₁, d₂, . . . , d_(m)), based on the dimensional magnitude.

The present invention emphasizes multiple diffusion functions at a series of pre-arranged positions to maximize the diffusion cycle. Other than the prior invention for one position, the notation AF(p₁, p₂, . . . p_(k)) herein is for a series of pre-arranged positions; further, it may be described more delicately as or precisely by A performs the diffusion functions F(p₁, p₂, . . . p_(k)).

SUMMARY OF THE INVENTION

The present invention applies with a diffused mechanism, as such, a variable series of diffusion functions embedded within a diffusion-medium, to generate a maximum diffusion-cycle and nonlinear complexity; additionally, it performs in a serial process for simple design, further, in a parallel process for saving time, or even in a hardware architecture, to gain greater acceleration. Under the combination of diffusion functions, the output bits, with a wide and flexible random distribution, are thus hardly attacked during the long diffusion-cycle; the steps are shown as follows:

-   -   (a) selecting a diffusion mechanism, a diffusion-area, and a         diffusion-medium;     -   (b) setting an initial value of the diffusion-area by an input         password;     -   (c) running the diffusion mechanism to obtain a new value for         the diffusion-area;     -   (d) inputting a bit of a plaintext/ciphertext stream in         sequence;     -   (e) outputting a bit of the ciphertext/plaintext stream,         equally, XORing (exclusive-or (XOR) operation) the bit of the         plaintext/ciphertext stream with an assigned bit of the         diffusion-area;     -   (f) going back to Step (c) until the encryption/decryption is         complete.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a summary flow chart diagram showing the main steps taken while encrypting/decrypting by a diffusion mechanism according to the present invention;

FIG. 2 is a summary flow chart diagram of FIG. 1, 200 showing the steps taken while initializing by an input password according to the present invention;

FIG. 3A is a summary flow chart diagram showing the component steps taken while performing a diffusion mechanism including a medium-constant in hardware architecture according to the present invention;

FIG. 3B is a summary flow chart diagram showing the component steps taken while performing a diffusion mechanism excluding a medium-constant in hardware architecture according to the present invention;

FIG. 3C is a summary flow chart diagram showing the component steps taken while encrypting/decrypting by a diffusion mechanism in hardware architecture according to the present invention;

FIG. 4 is a summary schematic diagram of preferred Embodiment I showing a diffusion-table in hardware architecture according to the present invention;

FIG. 5 is a summary schematic diagram of preferred Embodiments showing a parallel connecting in hardware architecture according to the present invention;

FIG. 6 is a summary schematic diagram of preferred Embodiments showing a serial connecting in hardware architecture according to the present invention.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

FIG. 1 shows an embodiment of the present invention in flow chart diagram form, comprising steps of: selecting a diffusion-area A, a diffusion-medium S, and a diffusion mechanism F^(t) ¹ 100; initializing A by an input password 200; performing F^(t) ¹ to obtain a new value of A 300; inputting a plaintext in encryption or a ciphertext for decryption, bit by bit 400; XORing a plaintext bit in encryption or a ciphertext bit in decryption with a certain bit of A for stream output 500; continuing until completing the plaintext in encryption, or the ciphertext in decryption 600.

Moreover, FIG. 2, i.e. FIG. 1, 200, shows an initialization of the diffusion-area by an input password, comprising steps of: inputting the password, bit by bit 210; setting the password bit whether controlling over S 220, if yes, then performing F^(t) ¹ whether adding S by the value (0 or 1) of the password bit, to obtain a new value of A 240, otherwise, writing the password bit directly to A 230; continuing until completing the password 250.

Serial Process in Detail:

FIG. 1, 300, obtaining a new value A^(t) ¹ ^(×t) ² =A^(t) ¹ ^(×(t) ² ⁻¹⁾F^(t) ¹ by a serial process, it would implement a number of diffusion functions F(p₁, p₂, . . . , p_(k)), provided with a simple design but rather time consuming. Furthermore, for the initialization of A, FIG. 2, a password bit selects a first value for AF(p)=A⊕Ad_(1i)⊕Ad_(2i)⊕ . . . ⊕Ad_(mi)⊕S, and a second value for AF(p)=A⊕Ad_(1i)⊕Ad_(2i)⊕ . . . ⊕Ad_(mi). The cryptographic process flow comprises steps of:

-   -   1. choosing a diffusion-area A, with a diffusion mechanism F^(t)         ¹ ;     -   2. setting A's initial value A⁰ by a password; t₂=1;     -   3. obtaining a new value A^(t) ¹ ^(×t) ² , wherein A^(t) ¹ ^(×t)         ² =A^(t) ¹ ^(×(t) ² ⁻¹⁾F^(t) ¹ ;     -   4. inputting a bit of a plaintext/ciphertext stream in sequence;     -   5. outputting a bit of the ciphertext/plaintext stream, equally,         XORing the bit of the plaintext/ciphertext stream with an         assigned bit of A^(t) ¹ ^(×t) ² ;     -   6. letting t₂=t₂+1, going back to Step 3, until the         encryption/decryption is complete.         Symbols and Definitions:     -   A: a diffusion-area, wherein A is a d₁×d₂× . . . ×d_(m) binary         matrix with a combination of positions labeled sequentially from         1 to n, accordingly, the bit values from a₁ to a_(n); where the         positions are shown as below:         for example,

${{(a)\mspace{14mu} m} = 1},{{one}\text{-}{dimension}\mspace{14mu} A\mspace{14mu}\begin{matrix} 1 & 2 & 3 & \ldots & {n - 1} & n \end{matrix}}$ ${{(b)\mspace{14mu} m} = 2},{{two}\text{-}{dimension}\mspace{14mu} A\mspace{14mu}\begin{matrix} 1 & {i + 1} & \ldots & {n - i + 1} \\ 2 & {i + 2} & \ldots & {n - i + 2} \\ \vdots & \vdots & \vdots & \vdots \\ i & {2\; i} & \ldots & n \end{matrix}}$

-   -   S: a diffusion-medium, wherein S is a m-dimensional binary         matrix, and further, includes an anchor-position {dot over (S)}.     -   AF(p): A performs a diffusion function F(p), see application         Ser. No. 12/726,833, Point-Diffusion, wherein p transforms into         m-dimension coordinates (i₁, i₂, . . . , i_(m)), then         AF(p)=A⊕Ad_(1i)⊕Ad_(2i)⊕ . . . ⊕Ad_(mi)⊕S.     -   AF(p₁, p₂, . . . , p_(k)): A performs the diffusion functions         F(p₁, p₂, . . . , p_(k)), sequentially at the m-dimension         positions p₁, p₂, . . . , p_(k).     -   AF^(t) ¹ : A performs a diffusion mechanism F^(t) ¹ , as         abbreviated for F(p₁, p₂ ^(t) ¹ , . . . , p_(k)), i.e. F(p₁, p₂,         . . . , p_(k)) repeated t₁ times.         Preferred Embodiment I: a 1×16 Diffusion-Area A, a Diffusion         Mechanism F¹.

Suppose that F¹=F(13, 14, 15, 16, 1, . . . , 13) applied to A, further, A⁰=0, and S=1 placed at the anchor-position, with the encrypting value A^(1×1)=A⁰F¹ at the first time, t₂=1. To detail the diffusion function of every position, the sequential positions are notated as no. p: no. q in abbreviation thereafter, for example 13:15 for 13,14,15, or 13:1 for 13,14,15,16,1, and so on; the steps are listed as follows (S=1 is indicated in boldface hereafter):

-   A⁰F(p)=A⁰⊕A⁰y_(p)⊕S; -   A⁰F(13)=[0000000000000000]⊕[0000000000000000]⊕[0000000000001000]; -   A⁰F(13:14)=[0000000000001000]⊕[0000000000010000]⊕[0000000000000100]; -   A⁰F(13:15)=[0000000000011100]⊕[0000000000111000]⊕[0000000000000010]; -   A⁰F(13:16)=[0000000000100110]⊕[0000000001001100]⊕[0000000000000001]; -   A⁰F(13:1)=[0000000001101011]⊕[0000000000110101]⊕[1000000000000000]; -   A⁰F(13:2)=[1000000001011110]⊕[0000000000101111]⊕[0100000000000000]; -   A⁰F(13:3)=[1100000001110001]⊕[1000000000111000]⊕[0010000000000000]; -   A⁰F(13:4)=[0110000001001001]⊕[1100000000100100]⊕[0001000000000000]; -   A⁰F(13:5)=[1011000001101101]⊕[0110000000110110]⊕[0000100000000000]; -   A⁰F(13:6)=[1101100001011011]⊕[1011000000101101]⊕[0000010000000000]; -   A⁰F(13:7)=[0110110001110110]⊕[1101100000111011]⊕[0000001000000000]; -   A⁰F(13:8)=[1011011001001101]⊕[0110110000100110]⊕[0000000100000000]; -   A⁰F(13:9)=[1101101101101011]⊕[1011011000110101]⊕[0000000010000000]; -   A⁰F(13:10)=[0110110111011110]⊕[1101101110101111]⊕[0000000001000000]; -   A⁰F(13:11)=[1011011000110001]⊕[0110110001011000]⊕[0000000000100000]; -   A⁰F(13:12)=[1101101001001001]⊕[1011010010000100]⊕[0000000000010000]; -   A⁰F(13:13)=[0110111011011101]⊕[1101110110110110]⊕[0000000000001000].

Through A⁰F(13:13), thus, A^(1×1)=[1011001101100011], afterward, XORing a bit of A, assuming a₁₆, with a plaintext bit to output an encrypted bit. Next, let t₂=2, and the value A^(1×2) is thus derived from A^(1×1) which can be equivalently notated as A¹ in abbreviation hereafter; the details are shown as below:

-   A¹F(p)=A¹⊕A¹y_(p)⊕S; -   A¹F(13)=[1011001101100011]⊕[0110011011000001]⊕[0000000000001000]; -   A¹F(13:14)=[1101010110101010]⊕[1010101101010001]⊕[0000000000000100]; -   A¹F(13:15)=[0111111011111111]⊕[1111110111111101]⊕[0000000000000010]; -   A¹F(13:16)=[1000001100000000]⊕[0000011000000000]⊕[0000000000000001]; -   A¹F(13:1)=[1000010100000001]⊕[0100001010000000]⊕[1000000000000000]; -   A¹F(13:2)=[0100011110000001]⊕[1010001111000000]⊕[0100000000000000]; -   A¹F(13:3)=[1010010001000001]⊕[0101001000100000]⊕[0010000000000000]; -   A¹F(13:4)=[1101011001100001]⊕[1010101100110000]⊕[0001000000000000]; -   A¹F(13:5)=[0110110101010001]⊕[1101011010101000]⊕[0000100000000000]; -   A¹F(13:6)=[1011001111111001]⊕[0110000111111100]⊕[0000010000000000]; -   A¹F(13:7)=[1101011000000101]⊕[1010110100000010]⊕[0000001000000000]; -   A¹F(13:8)=[0111100100000111]⊕[1111001010000011]⊕[0000000100000000]; -   A¹F(13:9)=[1000101010000100]⊕[0001010101000010]⊕[0000000010000000]; -   A¹F(13:10)=[1001111101000110]⊕[0011111010100011]⊕[0000000001000000]; -   A¹F(13:11)=[1010000110100101]⊕[0100001101010010]⊕[0000000000100000]; -   A¹F(13:12)=[1110001011010111]⊕[1100010110101011]⊕[0000000000010000]; -   A¹F(13:13)=[0010011101101100]⊕[0100111011010110]⊕[0000000000001000].

The second value of the diffusion-area A^(1×2)=[0110100110110010]; then, another encrypted bit is generated. Accordingly, a diffusion-cycle of F¹, implying A^(1×t) ² =A¹, requires 2¹⁶−1 times; thus, running the diffusion mechanism consecutively through the diffusion-cycle, the encrypted data complies with a random distribution thereby avoiding successful crypto-attack; assume a plaintext stream=0, four segments (64 bits) of the random output are appended as below, as samples:

Four Segments: (t₂=1 to 64)

1011011100111011 (t₂=1 to 16), 0000100100010111 (t₂=17 to 32),

0100000011010100 (t₂=33 to 48), 1011011111111110 (t₂=49 to 64).

Preferred Embodiment II: a 1×16 Diffusion-Area A, a Diffusion Mechanism F².

According to a diffusion mechanism arranged with the same positions in sequence, but at different times, the output is sampled out at every corresponding time. Suppose that F²=F(13²:13) A⁰=[0000000000000000] and S=1 is placed at the anchor-position, the encrypting value A^(2×1) thus is obtained from A^(2×0)F² at the first time, t₂=1, see A² of Embodiment I, short for A^(2×1). The next value A^(2×2), notated as A⁴ for short, is thus obtained by running the diffusion functions of the value A³; the steps are also listed as below to let any skilled person gain more understanding: (A³=[1000010001101011])

-   A³F(p)=A³⊕A³y_(p)⊕S; -   A³F(13)=[1000010001101011]⊕[0000100011010101]⊕[0000000000001000]; -   A³F(13:14)=[1000110010110110]⊕[0001100101101011]⊕[0000000000000100]; -   A³F(13:15)=[1001010111011001]⊕[0010101110110000]⊕[0000000000000010]; -   A³F(13:16)=[1011111001101011]⊕[0111110011010110]⊕[0000000000000001]; -   A³F(13:1)=[1100001010111100]⊕[0110000101011110]⊕[1000000000000000]; -   A³F(13:2)=[0010001111100010]⊕[0001000111110001]⊕[0100000000000000]; -   A³F(13:3)=[0111001000010011]⊕[1101100100001001]⊕[0010000000000000]; -   A³F(13:4)=[1000101100011010]⊕[0000010110001101]⊕[0001000000000000]; -   A³F(13:5)=[1001111010010111]⊕[0011011101001011]⊕[0000100000000000]; -   A³F(13:6)=[1010000111011100]⊕[0100000011101110]⊕[0000010000000000]; -   A³F(13:7)=[1110010100110010]⊕[1100100010011001]⊕[0000001000000000]; -   A³F(13:8)=[0010111110101011]⊕[0101111011010101]⊕[0000000100000000]; -   A³F(13:9)=[0111000001111110]⊕[1110000000111111]⊕[0000000010000000]; -   A³F(13:10)=[1001000011000001]⊕[0010000110100000]⊕[0000000001000000]; -   A³F(13:11)=[1011000100100001]⊕[0110001001010000]⊕[0000000000100000]; -   A³F(13:12)=[1101001101010001]⊕[1010011010101000]⊕[0000000000010000]; -   A³F(13:13)=[0111010111101001]⊕[1110101111010100]⊕[0000000000001000].

The new value of the diffusion-area will be A^(2×2)=[1001111000110101]. According to the diffusion mechanism using the number of times “2” is a prime number, therefore, the diffusion-cycle still keeps on 2¹⁶−1 times; thus, also assume a plaintext stream=0, XORing a₁₆ of A, the output other than Embodiment I is sampled out every two times; with four fragments of the random output appended as below, as samples:

Four Segments: (t₂=1 to 64)

0111010100010111 (t₂=1 to 16), 1000111001111110 (t₂=17 to 32),

1000010100011110 (t₂=33 to 48), 1101011100000100 (t₂=49 to 64).

Preferred Embodiment III: a 4×4 Diffusion-Area A, a Diffusion Mechanism F¹.

Provided that F¹=F(8:8), A⁰=[0000000000000000] and S=1 placed at the anchor-position, the encrypting value A^(1×1) is obtained from A^(1×0) run by F¹ at the first time, t=1. Now that the diffusion-area is a two-dimension matrix, a position needs to be transformed to the corresponding coordinates (i, j); the details are shown as below (Ax(0), Ay(0) also indicated in boldface hereafter):

AF(p) = A ⊕ Ax_(i) ⊕ Ay_(j) ⊕ S; $\begin{matrix} {{{AF}(8)} = {A \oplus {Ax}_{4} \oplus {Ay}_{2} \oplus S}} \\ {= {\begin{bmatrix} 0000 \\ 0000 \\ 0000 \\ 0000 \end{bmatrix} \oplus \begin{bmatrix} 0000 \\ 0000 \\ 0000 \\ 0000 \end{bmatrix} \oplus \begin{bmatrix} 0000 \\ 0000 \\ 0000 \\ 0000 \end{bmatrix} \oplus \begin{bmatrix} 0000 \\ 0000 \\ 0000 \\ 0100 \end{bmatrix}}} \\ {{= \begin{bmatrix} 0000 \\ 0000 \\ 0000 \\ 0100 \end{bmatrix}};} \end{matrix}$ $\begin{matrix} {{{AF}\left( {8:9} \right)} = {A \oplus {Ax}_{1} \oplus {Ay}_{3} \oplus S}} \\ {= {\begin{bmatrix} 0000 \\ 0000 \\ 0000 \\ 0100 \end{bmatrix} \oplus \begin{bmatrix} 0000 \\ 0000 \\ 0000 \\ 0000 \end{bmatrix} \oplus \begin{bmatrix} 0000 \\ 0000 \\ 0000 \\ 1000 \end{bmatrix} \oplus \begin{bmatrix} 0010 \\ 0000 \\ 0000 \\ 0000 \end{bmatrix}}} \\ {{= \begin{bmatrix} 0010 \\ 0000 \\ 0000 \\ 1100 \end{bmatrix}};} \end{matrix}$ $\begin{matrix} {{{AF}\left( {8:10} \right)} = {A \oplus {Ax}_{2} \oplus {Ay}_{3} \oplus S}} \\ {= {\begin{bmatrix} 0010 \\ 0000 \\ 0000 \\ 1100 \end{bmatrix} \oplus \begin{bmatrix} 0000 \\ 0000 \\ 0000 \\ 0000 \end{bmatrix} \oplus \begin{bmatrix} 0101 \\ 0000 \\ 0000 \\ 1000 \end{bmatrix} \oplus \begin{bmatrix} 0000 \\ 0010 \\ 0000 \\ 0000 \end{bmatrix}}} \\ {{= \begin{bmatrix} 0111 \\ 0010 \\ 0000 \\ 0100 \end{bmatrix}};} \end{matrix}$ $\begin{matrix} {{{AF}\left( {8:11} \right)} = {A \oplus {Ax}_{3} \oplus {Ay}_{3} \oplus S}} \\ {= {\begin{bmatrix} 0111 \\ 0010 \\ 0000 \\ 0100 \end{bmatrix} \oplus \begin{bmatrix} 0010 \\ 0000 \\ 0000 \\ 0000 \end{bmatrix} \oplus \begin{bmatrix} 1101 \\ 0101 \\ 0000 \\ 1000 \end{bmatrix} \oplus \begin{bmatrix} 0000 \\ 0000 \\ 0010 \\ 0000 \end{bmatrix}}} \\ {{= \begin{bmatrix} 1000 \\ 0111 \\ 0010 \\ 1100 \end{bmatrix}};} \end{matrix}$ $\begin{matrix} {{{AF}\left( {8:12} \right)} = {A \oplus {Ax}_{4} \oplus {Ay}_{3} \oplus S}} \\ {= {\begin{bmatrix} 1000 \\ 0111 \\ 0010 \\ 1100 \end{bmatrix} \oplus \begin{bmatrix} 0111 \\ 0010 \\ 1100 \\ 0000 \end{bmatrix} \oplus \begin{bmatrix} 0000 \\ 1101 \\ 0101 \\ 1000 \end{bmatrix} \oplus \begin{bmatrix} 0000 \\ 0000 \\ 0000 \\ 0010 \end{bmatrix}}} \\ {{= \begin{bmatrix} 1111 \\ 1000 \\ 1011 \\ 0110 \end{bmatrix}};} \end{matrix}$ $\begin{matrix} {{{AF}\left( {8:13} \right)} = {A \oplus {Ax}_{1} \oplus {Ay}_{4} \oplus S}} \\ {= {\begin{bmatrix} 1111 \\ 1000 \\ 1011 \\ 0110 \end{bmatrix} \oplus \begin{bmatrix} 0000 \\ 1111 \\ 1000 \\ 1011 \end{bmatrix} \oplus \begin{bmatrix} 1110 \\ 0000 \\ 0110 \\ 1100 \end{bmatrix} \oplus \begin{bmatrix} 0001 \\ 0000 \\ 0000 \\ 0000 \end{bmatrix}}} \\ {{= \begin{bmatrix} 0000 \\ 0111 \\ 0101 \\ 0001 \end{bmatrix}};} \end{matrix}$ $\begin{matrix} {{{AF}\left( {8:14} \right)} = {A \oplus {Ax}_{2} \oplus {Ay}_{4} \oplus S}} \\ {= {\begin{bmatrix} 0000 \\ 0111 \\ 0101 \\ 0001 \end{bmatrix} \oplus \begin{bmatrix} 0111 \\ 0000 \\ 0111 \\ 0101 \end{bmatrix} \oplus \begin{bmatrix} 0000 \\ 1110 \\ 1010 \\ 0010 \end{bmatrix} \oplus \begin{bmatrix} 0000 \\ 0001 \\ 0000 \\ 0000 \end{bmatrix}}} \\ {{= \begin{bmatrix} 0111 \\ 1000 \\ 1000 \\ 0110 \end{bmatrix}};} \end{matrix}$ $\begin{matrix} {{{AF}\left( {8:15} \right)} = {A \oplus {Ax}_{3} \oplus {Ay}_{4} \oplus S}} \\ {= {\begin{bmatrix} 0111 \\ 1000 \\ 1000 \\ 0110 \end{bmatrix} \oplus \begin{bmatrix} 1000 \\ 1000 \\ 0000 \\ 1000 \end{bmatrix} \oplus \begin{bmatrix} 1110 \\ 0000 \\ 0000 \\ 1100 \end{bmatrix} \oplus \begin{bmatrix} 0000 \\ 0000 \\ 0001 \\ 0000 \end{bmatrix}}} \\ {{= \begin{bmatrix} 0001 \\ 0000 \\ 1001 \\ 0010 \end{bmatrix}};} \end{matrix}$ $\begin{matrix} {{{AF}\left( {8:16} \right)} = {A \oplus {Ax}_{4} \oplus {Ay}_{4} \oplus S}} \\ {= {\begin{bmatrix} 0001 \\ 0000 \\ 1001 \\ 0010 \end{bmatrix} \oplus \begin{bmatrix} 0000 \\ 1001 \\ 0010 \\ 0000 \end{bmatrix} \oplus \begin{bmatrix} 0010 \\ 0000 \\ 0010 \\ 0100 \end{bmatrix} \oplus \begin{bmatrix} 0000 \\ 0000 \\ 0000 \\ 0001 \end{bmatrix}}} \\ {{= \begin{bmatrix} 0011 \\ 1001 \\ 1001 \\ 0111 \end{bmatrix}};} \end{matrix}$ $\begin{matrix} {{{AF}\left( {8:1} \right)} = {A \oplus {Ax}_{1} \oplus {Ay}_{1} \oplus S}} \\ {= {\begin{bmatrix} 0011 \\ 1001 \\ 1001 \\ 0111 \end{bmatrix} \oplus \begin{bmatrix} 0000 \\ 0011 \\ 1001 \\ 1001 \end{bmatrix} \oplus \begin{bmatrix} 0001 \\ 0100 \\ 0100 \\ 0011 \end{bmatrix} \oplus \begin{bmatrix} 1000 \\ 0000 \\ 0000 \\ 0000 \end{bmatrix}}} \\ {{= \begin{bmatrix} 1010 \\ 1110 \\ 0100 \\ 1101 \end{bmatrix}};} \end{matrix}$ $\begin{matrix} {{{AF}\left( {8:2} \right)} = {A \oplus {Ax}_{2} \oplus {Ay}_{1} \oplus S}} \\ {= {\begin{bmatrix} 1010 \\ 1110 \\ 0100 \\ 1101 \end{bmatrix} \oplus \begin{bmatrix} 1110 \\ 0000 \\ 1110 \\ 0100 \end{bmatrix} \oplus \begin{bmatrix} 0101 \\ 0111 \\ 0010 \\ 0110 \end{bmatrix} \oplus \begin{bmatrix} 0000 \\ 1000 \\ 0000 \\ 0000 \end{bmatrix}}} \\ {{= \begin{bmatrix} 0001 \\ 0001 \\ 1000 \\ 1111 \end{bmatrix}};} \end{matrix}$ $\begin{matrix} {{{AF}\left( {8:3} \right)} = {A \oplus {Ax}_{3} \oplus {Ay}_{1} \oplus S}} \\ {= {\begin{bmatrix} 0001 \\ 0001 \\ 1000 \\ 1111 \end{bmatrix} \oplus \begin{bmatrix} 0001 \\ 1000 \\ 0000 \\ 1000 \end{bmatrix} \oplus \begin{bmatrix} 0000 \\ 0000 \\ 0100 \\ 0111 \end{bmatrix} \oplus \begin{bmatrix} 0000 \\ 0000 \\ 1000 \\ 0000 \end{bmatrix}}} \\ {{= \begin{bmatrix} 0000 \\ 1001 \\ 0100 \\ 0000 \end{bmatrix}};} \end{matrix}$ $\begin{matrix} {{{AF}\left( {8:4} \right)} = {A \oplus {Ax}_{4} \oplus {Ay}_{1} \oplus S}} \\ {= {\begin{bmatrix} 0000 \\ 1001 \\ 0100 \\ 0000 \end{bmatrix} \oplus \begin{bmatrix} 1001 \\ 0100 \\ 0000 \\ 0000 \end{bmatrix} \oplus \begin{bmatrix} 0000 \\ 0100 \\ 0010 \\ 0000 \end{bmatrix} \oplus \begin{bmatrix} 0000 \\ 0000 \\ 0000 \\ 1000 \end{bmatrix}}} \\ {{= \begin{bmatrix} 1001 \\ 1001 \\ 0110 \\ 1000 \end{bmatrix}};} \end{matrix}$ $\begin{matrix} {{{AF}\left( {8:5} \right)} = {A \oplus {Ax}_{1} \oplus {Ay}_{2} \oplus S}} \\ {= {\begin{bmatrix} 1001 \\ 1001 \\ 0110 \\ 1000 \end{bmatrix} \oplus \begin{bmatrix} 0000 \\ 1001 \\ 1001 \\ 0110 \end{bmatrix} \oplus \begin{bmatrix} 0000 \\ 0000 \\ 1011 \\ 0000 \end{bmatrix} \oplus \begin{bmatrix} 0100 \\ 0000 \\ 0000 \\ 0000 \end{bmatrix}}} \\ {{= \begin{bmatrix} 1101 \\ 0000 \\ 0100 \\ 1110 \end{bmatrix}};} \end{matrix}$ $\begin{matrix} {{{AF}\left( {8:6} \right)} = {A \oplus {Ax}_{2} \oplus {Ay}_{2} \oplus S}} \\ {= {\begin{bmatrix} 1101 \\ 0000 \\ 0100 \\ 1110 \end{bmatrix} \oplus \begin{bmatrix} 0000 \\ 0000 \\ 0000 \\ 0100 \end{bmatrix} \oplus \begin{bmatrix} 1010 \\ 0000 \\ 1010 \\ 1011 \end{bmatrix} \oplus \begin{bmatrix} 0000 \\ 0100 \\ 0000 \\ 0000 \end{bmatrix}}} \\ {{= \begin{bmatrix} 0111 \\ 0100 \\ 1110 \\ 0001 \end{bmatrix}};} \end{matrix}$ $\begin{matrix} {{{AF}\left( {8:7} \right)} = {A \oplus {Ax}_{3} \oplus {Ay}_{2} \oplus S}} \\ {= {\begin{bmatrix} 0111 \\ 0100 \\ 1110 \\ 0001 \end{bmatrix} \oplus \begin{bmatrix} 0100 \\ 1110 \\ 0000 \\ 1110 \end{bmatrix} \oplus \begin{bmatrix} 1011 \\ 1010 \\ 1011 \\ 0000 \end{bmatrix} \oplus \begin{bmatrix} 0000 \\ 0000 \\ 0100 \\ 0000 \end{bmatrix}}} \\ {{= \begin{bmatrix} 1000 \\ 0000 \\ 0001 \\ 1111 \end{bmatrix}};} \end{matrix}$ $\begin{matrix} {{{AF}\left( {8:8} \right)} = {A \oplus {Ax}_{4} \oplus {Ay}_{2} \oplus S}} \\ {= {\begin{bmatrix} 1000 \\ 0000 \\ 0001 \\ 1111 \end{bmatrix} \oplus \begin{bmatrix} 0000 \\ 0001 \\ 1111 \\ 0000 \end{bmatrix} \oplus \begin{bmatrix} 0000 \\ 0000 \\ 0000 \\ 1011 \end{bmatrix} \oplus \begin{bmatrix} 0000 \\ 0000 \\ 0000 \\ 0100 \end{bmatrix}}} \\ {= {\begin{bmatrix} 1000 \\ 0001 \\ 1110 \\ 0000 \end{bmatrix}.}} \end{matrix}$

Assume again the last bit of A^(1×t) ² for encrypting and a plaintext stream=0, due to a two-dimension diffusion mechanism, four fragments of the random output, which are thus very different from samples obtained for Embodiment I & II, are appended as below:

Four Segments: (t₂=1 to 64)

0111000100100111 (t₂=1 to 16), 0000001100001011 (t₂=17 to 32),

1110101001111110 (t₂=33 to 48), 0011000001101100 (t₂=49 to 64).

Parallel Process in Detail:

FIG. 1, 300, obtaining a new value A^(t) ¹ ^(×t) ² =A^(t) ¹ ^(×(t) ² ⁻¹⁾F^(t) ¹ by a parallel process, it would transform the serial process into A^(t) ¹ ^(×t) ² =A^(t) ¹ ^(×(t) ² ⁻¹⁾F^(t) ¹ ⊕BF^(t) ¹ namely, by running a diffusion-table F^(t) ¹ and a medium-constant BF^(t) ¹ , through a slightly complicated design but with the concomitant advantage of shortening the time required. Furthermore, for the initialization of A, FIG. 2, a password bit selects a first value for A^(t) ¹ ^(×t) ² =A^(t) ¹ ^(×(t) ² ⁻¹⁾F^(t) ¹ ⊕BF^(t) ¹ , and a second value for A^(t) ¹ ^(×t) ² =A^(t) ¹ ^(×(t) ² ⁻¹⁾F^(t) ¹ .

The cryptographic process flow comprises steps of:

-   -   1. choosing a diffusion-area A, creating a diffusion-table F^(t)         ¹ ;     -   2. choosing a medium-area B, creating a medium-constant BF^(t) ¹         ;     -   3. setting A's initial value A⁰ by a password; t₂=1;     -   4. obtaining a new value A^(t) ¹ ^(×t) ² , wherein A^(t) ¹ ^(×t)         ² =A^(t) ¹ ^(×(t) ² ⁻¹⁾F^(t) ¹ ⊕BF^(t) ¹ ;     -   5. inputting a bit of a plaintext/ciphertext stream in sequence;     -   6. outputting a bit of the ciphertext/plaintext stream, equally,         XORing the bit of the plaintext/ciphertext stream with an         assigned bit of A^(t) ¹ ^(×t) ² ;     -   7. letting t₂=t₂+1, going back to Step 4, until the         encryption/decryption is complete.         Symbols and Definitions:     -   A: a diffusion-area, wherein A contains an initial value A⁰ and         further, is a d₁×d₂× . . . ×d_(m) binary matrix with a         combination of positions labeled sequentially from 1 to n,         accordingly, the bit values from a₁ to a_(n).     -   S: a diffusion-medium, wherein S is a m-dimensional binary         matrix, and further, includes an anchor-position {dot over (S)}.     -   B: a medium-area, wherein B is a d₁×d₂× . . . ×d_(m) zero matrix         with a combination of positions labeled sequentially from 1 to         n.     -   BF^(t) ¹ : a medium-constant, wherein B performs a diffusion         mechanism F^(t) ¹ once, as abbreviated for F(p₁, p₂ ^(t) ¹ , . .         . , p_(k)), i.e. F(p₁, p₂, . . . , p_(k)) repeated t₁ times.     -   AF^(t) ¹ : A performs a diffusion-table F^(t) ¹ , wherein F^(t)         ¹ =FF(p₁, p₂ ^(t) ¹ , . . . , p_(k)) performed once, comprising         of:         -   F is a zero matrix with d₁×d₂× . . . ×d_(m) plus one             dimension with magnitude of d₁×d₂× . . . ×d_(m), called             layers, equally; in addition, 1's are at the i^(th) position             on the i^(th) layer; for example,

$\mspace{79mu}{{{(a)\mspace{14mu} a\mspace{14mu} 4 \times 4\; F} = \begin{bmatrix} 1000 \\ 0100 \\ 0010 \\ 0001 \end{bmatrix}},\mspace{79mu}{{{(b)\mspace{14mu} a\mspace{14mu} 2 \times 2 \times 4\; F} = {\overset{\overset{1{st}}{︷}}{\begin{bmatrix} 1 & 0 \\ 0 & 0 \end{bmatrix}}\overset{\overset{2{nd}}{︷}}{\begin{bmatrix} 0 & 0 \\ 1 & 0 \end{bmatrix}}\overset{\overset{3{rd}}{︷}}{\begin{bmatrix} 0 & 1 \\ 0 & 0 \end{bmatrix}}\overset{\overset{4{th}}{︷}}{\begin{bmatrix} 0 & 0 \\ 0 & 1 \end{bmatrix}}}};}}$ ${{(c)\mspace{14mu} a\mspace{14mu} 4 \times 4 \times 16\; F} = {\overset{\overset{1{st}}{︷}}{\begin{bmatrix} 1000 \\ 0000 \\ 0000 \\ 0000 \end{bmatrix}}\overset{\overset{2{nd}}{︷}}{\begin{bmatrix} 0000 \\ 1000 \\ 0000 \\ 0000 \end{bmatrix}}\overset{\overset{3{rd}}{︷}}{\begin{bmatrix} 0000 \\ 0000 \\ 1000 \\ 0000 \end{bmatrix}}\overset{\overset{4{th}}{︷}}{\begin{bmatrix} 0000 \\ 0000 \\ 0000 \\ 1000 \end{bmatrix}}\mspace{14mu}\ldots\mspace{14mu}\overset{\overset{13{th}}{︷}}{\begin{bmatrix} 0001 \\ 0000 \\ 0000 \\ 0000 \end{bmatrix}}\overset{\overset{14{th}}{︷}}{\begin{bmatrix} 0000 \\ 0001 \\ 0000 \\ 0000 \end{bmatrix}}\overset{\overset{15{th}}{︷}}{\begin{bmatrix} 0000 \\ 0000 \\ 0001 \\ 0000 \end{bmatrix}}\overset{\overset{16{th}}{︷}}{\begin{bmatrix} 0000 \\ 0000 \\ 0000 \\ 0001 \end{bmatrix}}}};$

-   -    wherein a 1×4 A is applied with the 4×4 F; a 2×2 A is applied         with the 2×2×4 F; further, a 4×4 A is applied with the 4×4×16 F;         and so on.         -   FF(p₁, p₂, . . . , p_(k)): F performs the diffusion             functions F(p₁, p₂, . . . , p_(k)), sequentially at the             m-dimension positions p₁, p₂, . . . , p_(k); for example, a             1×4 A applied with the 4×4 F, FF(p)=F⊕Fy_(p), FF(1:4) as             follows (Fy(0) indicated in boldface hereafter):

${{{FF}(1)} = {{\begin{bmatrix} 1000 \\ 0100 \\ 0010 \\ 0001 \end{bmatrix} \oplus \begin{bmatrix} 0100 \\ 0010 \\ 0001 \\ 0000 \end{bmatrix}} = \begin{bmatrix} 1100 \\ 0110 \\ 0011 \\ 0001 \end{bmatrix}}};$ ${{{FF}\left( {1:2} \right)} = {{\begin{bmatrix} 1100 \\ 0110 \\ 0011 \\ 0001 \end{bmatrix} \oplus \begin{bmatrix} 1010 \\ 1011 \\ 0001 \\ 0000 \end{bmatrix}} = \begin{bmatrix} 0110 \\ 1101 \\ 0010 \\ 0001 \end{bmatrix}}};$ ${{{FF}\left( {1:3} \right)} = {{\begin{bmatrix} 0110 \\ 1101 \\ 0010 \\ 0001 \end{bmatrix} \oplus \begin{bmatrix} 1101 \\ 1000 \\ 0101 \\ 0000 \end{bmatrix}} = \begin{bmatrix} 1011 \\ 0101 \\ 0111 \\ 0001 \end{bmatrix}}};$ ${{FF}\left( {1:4} \right)} = {{\begin{bmatrix} 1011 \\ 0101 \\ 0111 \\ 0001 \end{bmatrix} \oplus \begin{bmatrix} 0110 \\ 1010 \\ 1110 \\ 0010 \end{bmatrix}} = {\begin{bmatrix} 1101 \\ 1111 \\ 1001 \\ 0011 \end{bmatrix}.}}$

Suppose AF¹, with the diffusion-table F¹=FF(1:4), so according to the above derivation, the next a₁=a₁⊕a₂⊕a₃, see 1's at the first position on every layer, the i^(th) layer represented for current a_(i); thus referring the second position on every layer, the next a₂=a₁⊕a₂; further, a₃=a₂⊕a₄; finally, a₄=a₁⊕a₂⊕a₃⊕a₄.

Moreover, a 2×2 A applied with the 2×2×4 F, FF(p)=F⊕Fx_(i)⊕Fy_(j), FF(1:4) as follows (Fx(0) also indicated in boldface hereafter):

$\begin{matrix} {{{FF}(1)} = {F \oplus {Fx}_{1} \oplus {Fy}_{1}}} \\ {= {{\overset{\overset{1{st}}{︷}}{\begin{bmatrix} 1 & 0 \\ 0 & 0 \end{bmatrix}}\overset{\overset{2{nd}}{︷}}{\begin{bmatrix} 0 & 0 \\ 1 & 0 \end{bmatrix}}\overset{\overset{3{rd}}{︷}}{\begin{bmatrix} 0 & 1 \\ 0 & 0 \end{bmatrix}}\overset{\overset{4{th}}{︷}}{\begin{bmatrix} 0 & 0 \\ 0 & 1 \end{bmatrix}}} \oplus}} \\ {{\overset{\overset{1{st}}{︷}}{\begin{bmatrix} 0 & 0 \\ 1 & 0 \end{bmatrix}}\overset{\overset{2{nd}}{︷}}{\begin{bmatrix} 0 & 0 \\ 0 & 0 \end{bmatrix}}\overset{\overset{3{rd}}{︷}}{\begin{bmatrix} 0 & 0 \\ 0 & 1 \end{bmatrix}}\overset{\overset{4{th}}{︷}}{\begin{bmatrix} 0 & 0 \\ 0 & 0 \end{bmatrix}}} \oplus} \\ {{\overset{\overset{1{st}}{︷}}{\begin{bmatrix} 0 & 1 \\ 0 & 0 \end{bmatrix}}\overset{\overset{2{nd}}{︷}}{\begin{bmatrix} 0 & 0 \\ 0 & 1 \end{bmatrix}}\overset{\overset{3{rd}}{︷}}{\begin{bmatrix} 0 & 0 \\ 0 & 0 \end{bmatrix}}\overset{\overset{4{th}}{︷}}{\begin{bmatrix} 0 & 0 \\ 0 & 0 \end{bmatrix}}};} \end{matrix}$ $\begin{matrix} {{{FF}\left( {1:2} \right)} = {\left\lbrack {{FF}(1)} \right\rbrack \oplus {\left\lbrack {{FF}(1\rbrack} \right)x_{2}} \oplus {\left\lbrack {{FF}(1)} \right\rbrack y_{1}}}} \\ {= {{\overset{\overset{1{st}}{︷}}{\begin{bmatrix} 1 & 1 \\ 1 & 0 \end{bmatrix}}\overset{\overset{2{nd}}{︷}}{\begin{bmatrix} 0 & 0 \\ 1 & 1 \end{bmatrix}}\overset{\overset{3{rd}}{︷}}{\begin{bmatrix} 0 & 1 \\ 0 & 1 \end{bmatrix}}\overset{\overset{4{th}}{︷}}{\begin{bmatrix} 0 & 0 \\ 0 & 1 \end{bmatrix}}} \oplus}} \\ {{\overset{\overset{1{st}}{︷}}{\begin{bmatrix} 1 & 0 \\ 0 & 0 \end{bmatrix}}\overset{\overset{2{nd}}{︷}}{\begin{bmatrix} 1 & 1 \\ 0 & 0 \end{bmatrix}}\overset{\overset{3{rd}}{︷}}{\begin{bmatrix} 0 & 1 \\ 0 & 0 \end{bmatrix}}\overset{\overset{4{th}}{︷}}{\begin{bmatrix} 0 & 1 \\ 0 & 0 \end{bmatrix}}} \oplus} \\ {{\overset{\overset{1{st}}{︷}}{\begin{bmatrix} 0 & 1 \\ 0 & 1 \end{bmatrix}}\overset{\overset{2{nd}}{︷}}{\begin{bmatrix} 0 & 0 \\ 0 & 1 \end{bmatrix}}\overset{\overset{3{rd}}{︷}}{\begin{bmatrix} 0 & 0 \\ 0 & 0 \end{bmatrix}}\overset{\overset{4{th}}{︷}}{\begin{bmatrix} 0 & 0 \\ 0 & 0 \end{bmatrix}}};} \end{matrix}$ $\begin{matrix} {{{FF}\left( {1:3} \right)} = {\left\lbrack {{FF}\left( {1:2} \right)} \right\rbrack \oplus {\left\lbrack {{FF}\left( {1:2} \right\rbrack} \right)x_{1}} \oplus {\left\lbrack {{FF}\left( {1:2} \right)} \right\rbrack y_{2}}}} \\ {= {{\overset{\overset{1{st}}{︷}}{\begin{bmatrix} 0 & 0 \\ 1 & 1 \end{bmatrix}}\overset{\overset{2{nd}}{︷}}{\begin{bmatrix} 1 & 1 \\ 1 & 0 \end{bmatrix}}\overset{\overset{3{rd}}{︷}}{\begin{bmatrix} 0 & 0 \\ 0 & 1 \end{bmatrix}}\overset{\overset{4{th}}{︷}}{\begin{bmatrix} 0 & 1 \\ 0 & 1 \end{bmatrix}}} \oplus}} \\ {{\overset{\overset{1{st}}{︷}}{\begin{bmatrix} 0 & 0 \\ 0 & 0 \end{bmatrix}}\overset{\overset{2{nd}}{︷}}{\begin{bmatrix} 0 & 0 \\ 1 & 1 \end{bmatrix}}\overset{\overset{3{rd}}{︷}}{\begin{bmatrix} 0 & 0 \\ 0 & 0 \end{bmatrix}}\overset{\overset{4{th}}{︷}}{\begin{bmatrix} 0 & 0 \\ 0 & 1 \end{bmatrix}}} \oplus} \\ {{\overset{\overset{1{st}}{︷}}{\begin{bmatrix} 0 & 0 \\ 1 & 0 \end{bmatrix}}\overset{\overset{2{nd}}{︷}}{\begin{bmatrix} 1 & 0 \\ 0 & 0 \end{bmatrix}}\overset{\overset{3{rd}}{︷}}{\begin{bmatrix} 0 & 0 \\ 1 & 0 \end{bmatrix}}\overset{\overset{4{th}}{︷}}{\begin{bmatrix} 1 & 0 \\ 1 & 0 \end{bmatrix}}};} \end{matrix}$ $\begin{matrix} {{{FF}\left( {1:4} \right)} = {\left\lbrack {{FF}\left( {1:3} \right)} \right\rbrack \oplus {\left\lbrack {{FF}\left( {1:3} \right\rbrack} \right)x_{2}} \oplus {\left\lbrack {{FF}\left( {1:3} \right)} \right\rbrack y_{2}}}} \\ {= {{\overset{\overset{1{st}}{︷}}{\begin{bmatrix} 0 & 0 \\ 0 & 1 \end{bmatrix}}\overset{\overset{2{nd}}{︷}}{\begin{bmatrix} 0 & 1 \\ 0 & 1 \end{bmatrix}}\overset{\overset{3{rd}}{︷}}{\begin{bmatrix} 0 & 0 \\ 1 & 1 \end{bmatrix}}\overset{\overset{4{th}}{︷}}{\begin{bmatrix} 0 & 1 \\ 1 & 0 \end{bmatrix}}} \oplus}} \\ {{\overset{\overset{1{st}}{︷}}{\begin{bmatrix} 0 & 1 \\ 0 & 0 \end{bmatrix}}\overset{\overset{2{nd}}{︷}}{\begin{bmatrix} 0 & 1 \\ 0 & 0 \end{bmatrix}}\overset{\overset{3{rd}}{︷}}{\begin{bmatrix} 1 & 1 \\ 0 & 0 \end{bmatrix}}\overset{\overset{4{th}}{︷}}{\begin{bmatrix} 1 & 0 \\ 0 & 0 \end{bmatrix}}} \oplus} \\ {\overset{\overset{1{st}}{︷}}{\begin{bmatrix} 0 & 0 \\ 1 & 0 \end{bmatrix}}\overset{\overset{2{nd}}{︷}}{\begin{bmatrix} 1 & 0 \\ 1 & 0 \end{bmatrix}}\overset{\overset{3{rd}}{︷}}{\begin{bmatrix} 0 & 0 \\ 1 & 0 \end{bmatrix}}{\overset{\overset{4{th}}{︷}}{\begin{bmatrix} 1 & 0 \\ 0 & 0 \end{bmatrix}}.}} \end{matrix}$ Suppose AF¹, wherein

${F^{1} = {{{FF}\left( {1:4} \right)} = {\overset{\overset{1{st}}{︷}}{\begin{bmatrix} 0 & 1 \\ 1 & 1 \end{bmatrix}}\overset{\overset{2{nd}}{︷}}{\begin{bmatrix} 1 & 0 \\ 1 & 1 \end{bmatrix}}\overset{\overset{3{rd}}{︷}}{\begin{bmatrix} 1 & 1 \\ 0 & 1 \end{bmatrix}}\overset{\overset{4{th}}{︷}}{\begin{bmatrix} 1 & 1 \\ 1 & 0 \end{bmatrix}}}}};$ four layers represent the current a₁ to a₄, through by the first position, the next a₁=a₂⊕a₃⊕a₄; by the second position, the next a₂=a₁⊕a₂⊕a₄; further, by the third position, the next a₃=a₁⊕a₃⊕a₄; and finally, by the fourth position, the next a₄=a₁⊕a₂⊕a₃. Preferred Embodiment IV: Diffusion Mechanisms in a Parallel Process.

Firstly, in Embodiment I, now that the diffusion mechanism F¹=F(13:13), A⁰=[0000000000000000], and S=1 placed at the anchor-position, the sequential value of diffusion-area A^(1×t) ² =A^(1×(t) ² ⁻¹⁾F¹⊕BF¹, wherein a medium-constant BF¹ and a diffusion-table F¹ are performed only once at the beginning; BF¹=BF(13:13)=[1011001101100011], derived as A¹, in Embodiment I, and further, F¹=FF(13:13), wherein FF(p)=F⊕Fy_(p), may refer to the whole derivation of two-dimensional FF(1:4), and F is such as a 16×16 unit matrix, with a one-dimension diffusion function in a two-dimension matrix; positions are orderly ordered from 13 to 16 then from 1 to 13, each position's diffusion function is shown in Table 1, and for greater clarity, the final result is shown in Table 2. Furthermore, reading from the i^(th) position of all layers, namely, referring to the i^(th) column to obtain the next a_(i), all combinations are shown in Table 3.

Therefore, according to Table 3, new values in sequence as below:

${{{for}\mspace{14mu} t_{2}} = 1},\begin{matrix} {A^{1 \times 1} = {{A^{0}F^{1}} \oplus {BF}^{1}}} \\ {= {\left\lbrack {0\; 0\; 0\; 0\; 0\; 0\; 0\; 0\; 0\; 0\; 0\; 0\; 0\; 0\; 0\; 0} \right\rbrack \oplus}} \\ {\left\lbrack {1\; 0\; 1\; 1\; 0\; 0\; 1\; 1\; 0\; 1\; 1\; 0\; 0\; 0\; 1\; 1} \right\rbrack;} \end{matrix}$ ${{{the}\mspace{14mu}{results}\mspace{14mu}{is}\mspace{14mu}{the}\mspace{14mu}{same}\mspace{14mu}{as}\mspace{14mu} A^{1}\mspace{14mu}{in}\mspace{14mu}{Embodiment}\mspace{14mu}{I.{for}}\mspace{14mu} t_{2}} = 2},\begin{matrix} {A^{1 \times 2} = {{A^{1 \times 1}F^{1}} \oplus {BF}^{1}}} \\ {= {\left\lbrack {1\; 1\; 0\; 1\; 1\; 0\; 1\; 0\; 1\; 1\; 0\; 1\; 0\; 0\; 0\; 1} \right\rbrack \oplus \left\lbrack {1\; 0\; 1\; 1\; 0\; 0\; 1\; 1\; 0\; 1\; 1\; 0\; 0\; 0\; 1\; 1} \right\rbrack}} \\ {{= {0\; 1\; 1\; 0\; 1\; 0\; 0\; 1\; 1\; 0\; 1\; 1\; 0\; 0\; 1\; 0}};} \end{matrix}$ the  results  is  the  same  as  A²  in  Embodiment  I.Derivation  of  A^(1 × 1)F¹: Now  that $\begin{matrix} {A^{1 \times 1} = \left\lbrack {a_{1},a_{2},\ldots\mspace{14mu},a_{16}} \right\rbrack} \\ {{= \begin{bmatrix} \overset{1}{1} & \overset{2}{0} & \overset{3}{1} & \overset{4}{1} & \overset{5}{0} & \overset{6}{0} & \overset{7}{1} & \overset{8}{1} & \overset{9}{0} & \overset{10}{1} & \overset{11}{1} & \overset{12}{0} & \overset{13}{0} & \overset{14}{0} & \overset{15}{1} & \overset{16}{1} \end{bmatrix}};} \end{matrix}$ the  next  a₁ = a₁ ⊕ a₇ ⊕ a₉ ⊕ a₁₁ = 1 ⊕ 1 ⊕ 0 ⊕ 1 = 1; the  next $\begin{matrix} {a_{2} = {a_{1} \oplus a_{2} \oplus a_{5} \oplus a_{8} \oplus a_{10} \oplus a_{12}}} \\ {= {{1 \oplus 0 \oplus 0 \oplus 1 \oplus 1 \oplus 0} = {\quad{1;\ldots\mspace{11mu};}}}} \end{matrix}$ the  next  a₁₆ = a₃ ⊕ a₄ ⊕ a₁₃ ⊕ a₁₅ = 1 ⊕ 1 ⊕ 0 ⊕ 1 = 1. ${{Prove}\mspace{14mu}{likewise}},{{{for}\mspace{14mu} t_{2}} = 3},\begin{matrix} {A^{1 \times 2} = \left\lbrack {a_{1},a_{2},\ldots\mspace{11mu},a_{16}} \right\rbrack} \\ {{= \begin{bmatrix} \overset{1}{0} & \overset{2}{1} & \overset{3}{1} & \overset{4}{0} & \overset{5}{1} & \overset{6}{0} & \overset{7}{0} & \overset{8}{1} & \overset{9}{1} & \overset{10}{0} & \overset{11}{1} & \overset{12}{1} & \overset{13}{0} & \overset{14}{0} & \overset{15}{1} & \overset{16}{0} \end{bmatrix}},} \end{matrix}$ $\begin{matrix} {A^{1 \times 3} = {{A^{1 \times 2}F^{1}} \oplus {BF}^{1}}} \\ {= {\left\lbrack {0\; 0\; 1\; 1\; 0\; 1\; 1\; 1\; 0\; 0\; 0\; 0\; 1\; 0\; 0\; 0} \right\rbrack \oplus \left\lbrack {1\; 0\; 1\; 1\; 0\; 0\; 1\; 1\; 0\; 1\; 1\; 0\; 0\; 0\; 1\; 1} \right\rbrack}} \\ {{= {1\; 0\; 0\; 0\; 0\; 1\; 0\; 0\; 0\; 1\; 1\; 0\; 1\; 0\; 1\; 1}};} \end{matrix}$ ${{{the}\mspace{14mu}{result}\mspace{14mu}{is}\mspace{14mu}{the}\mspace{14mu}{same}\mspace{14mu}{as}\mspace{14mu} A^{3}\mspace{14mu}{in}\mspace{14mu}{Embodiment}\mspace{14mu}{{II}.{for}}\mspace{14mu} t_{2}} = 4},\begin{matrix} {A^{1 \times 3} = \left\lbrack {a_{1},a_{2},\ldots\mspace{11mu},a_{16}} \right\rbrack} \\ {{= \begin{bmatrix} \overset{1}{1} & \overset{2}{0} & \overset{3}{0} & \overset{4}{0} & \overset{5}{0} & \overset{6}{1} & \overset{7}{0} & \overset{8}{0} & \overset{9}{0} & \overset{10}{1} & \overset{11}{1} & \overset{12}{0} & \overset{13}{1} & \overset{14}{0} & \overset{15}{1} & \overset{16}{1} \end{bmatrix}},} \end{matrix}$ $\begin{matrix} {A^{1 \times 4} = {{A^{1 \times 3}F^{1}} \oplus {BF}^{1}}} \\ {= {\left\lbrack {0\; 0\; 1\; 0\; 1\; 1\; 0\; 1\; 0\; 1\; 0\; 1\; 0\; 1\; 1\; 0} \right\rbrack \oplus \left\lbrack {1\; 0\; 1\; 1\; 0\; 0\; 1\; 1\; 0\; 1\; 1\; 0\; 0\; 0\; 1\; 1} \right\rbrack}} \\ {{= {1\; 0\; 0\; 1\; 1\; 1\; 1\; 0\; 0\; 0\; 1\; 1\; 0\; 1\; 0\; 1}};} \end{matrix}$ the  result  is  the  same  as  A⁴  in  Embodiment  II.

TABLE 1      ${{{FF}(13)} = {{\begin{bmatrix} \text{1000000000000000} \\ \vdots \\ \text{0000000000010000} \\ \text{0000000000001000} \\ \text{0000000000000100} \\ \text{0000000000000010} \\ \text{0000000000000001} \end{bmatrix} \oplus \begin{bmatrix} {\text{000000000000}\text{0}\text{000}} \\ \vdots \\ {\text{000000000010}\text{0}\text{000}} \\ {\text{000000000001}\text{0}\text{100}} \\ {\text{000000000000}\text{0}\text{010}} \\ {\text{000000000000}\text{0}\text{001}} \\ {\text{000000000000}\text{0}\text{000}} \end{bmatrix}} = \begin{bmatrix} \text{1000000000000000} \\ \vdots \\ \text{0000000000110000} \\ \text{0000000000011100} \\ \text{0000000000000110} \\ \text{0000000000000011} \\ \text{0000000000000001} \end{bmatrix}}};$ ${{{FF}\left( {13:14} \right)} = {{\begin{bmatrix} \text{1000000000000000} \\ \vdots \\ \text{0000000000110000} \\ \text{0000000000011100} \\ \text{0000000000000110} \\ \text{0000000000000011} \\ \text{0000000000000001} \end{bmatrix} \oplus \begin{bmatrix} {\text{000000000000}\text{0}\text{0}\text{00}} \\ \vdots \\ {\text{000000000110}\text{0}\text{0}\text{00}} \\ {\text{000000000011}\text{1}\text{0}\text{10}} \\ {\text{000000000000}\text{1}\text{0}\text{11}} \\ {\text{000000000000}\text{0}\text{0}\text{01}} \\ {\text{000000000000}\text{0}\text{0}\text{00}} \end{bmatrix}} = \begin{bmatrix} \text{1000000000000000} \\ \vdots \\ \text{0000000001010000} \\ \text{0000000000100110} \\ \text{0000000000001101} \\ \text{0000000000000010} \\ \text{0000000000000001} \end{bmatrix}}};$ ${{FF}\left( {13:13} \right)} = {{\begin{bmatrix} \text{1011011011011000} \\ \vdots \\ \text{0011001100110000} \\ \text{0000101101110110} \\ \text{0000000010101100} \\ \text{0000000000001001} \\ \text{0000000000000011} \end{bmatrix} \oplus \begin{bmatrix} {\text{011011011011}\text{0}\text{100}} \\ \vdots \\ {\text{011001100110}\text{0}\text{000}} \\ {\text{000101101110}\text{0}\text{011}} \\ {\text{000000010101}\text{0}\text{110}} \\ {\text{000000000001}\text{0}\text{100}} \\ {\text{000000000000}\text{0}\text{0}\text{01}} \end{bmatrix}} = {\begin{bmatrix} \text{1101101101101100} \\ \vdots \\ \text{0101010101010000} \\ \text{0001110110010101} \\ \text{0000000111111010} \\ \text{0000000000011101} \\ \text{0000000000000010} \end{bmatrix}.}}$

TABLE 2 $F^{1} = {{{FF}\left( {13\text{:}13} \right)} = \begin{bmatrix} 1 & 1 & 0 & 1 & 1 & 0 & 1 & 1 & 0 & 1 & 1 & 0 & 1 & 1 & 0 & 0 \\ 0 & 1 & 0 & 0 & 0 & 1 & 0 & 1 & 0 & 0 & 0 & 1 & 0 & 1 & 1 & 0 \\ 0 & 0 & 0 & 1 & 1 & 0 & 1 & 0 & 1 & 0 & 1 & 1 & 0 & 0 & 1 & 1 \\ 0 & 0 & 0 & 0 & 0 & 1 & 0 & 1 & 0 & 1 & 0 & 1 & 0 & 0 & 0 & 1 \\ 0 & 1 & 1 & 0 & 1 & 1 & 0 & 0 & 0 & 1 & 1 & 1 & 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 1 & 0 & 1 & 0 & 0 & 0 & 0 & 0 & 1 & 0 & 0 & 0 & 0 \\ 1 & 0 & 1 & 1 & 0 & 0 & 0 & 1 & 1 & 0 & 1 & 1 & 0 & 0 & 0 & 0 \\ 0 & 1 & 0 & 1 & 0 & 0 & 0 & 0 & 0 & 1 & 0 & 1 & 0 & 0 & 0 & 0 \\ 1 & 0 & 1 & 0 & 1 & 0 & 1 & 1 & 0 & 1 & 1 & 1 & 0 & 0 & 0 & 0 \\ 0 & 1 & 0 & 1 & 0 & 1 & 0 & 1 & 0 & 0 & 0 & 1 & 0 & 0 & 0 & 0 \\ 1 & 0 & 1 & 0 & 1 & 0 & 1 & 0 & 1 & 0 & 1 & 1 & 0 & 0 & 0 & 0 \\ 0 & 1 & 0 & 1 & 0 & 1 & 0 & 1 & 0 & 1 & 0 & 1 & 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 1 & 1 & 1 & 0 & 1 & 1 & 0 & 0 & 1 & 0 & 1 & 0 & 1 \\ 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 & 1 & 1 & 1 & 1 & 1 & 0 & 1 & 0 \\ 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 & 1 & 1 & 0 & 1 \\ 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 & 0 \end{bmatrix}}$

TABLE 3 at time t₂ at time t₂ − 1 a₁ a₁ ⊕ a₇ ⊕ a₉ ⊕ a₁₁ a₂ a₁ ⊕ a₂ ⊕ a₅ ⊕ a₈ ⊕ a₁₀ ⊕ a₁₂ a₃ a₅ ⊕ a₇ ⊕ a₉ ⊕ a₁₁ a₄ a₁ ⊕ a₃ ⊕ a₆ ⊕ a₇ ⊕ a₈ ⊕ a₁₀ ⊕ a₁₂ ⊕ a₁₃ a₅ a₁ ⊕ a₃ ⊕ a₅ ⊕ a₉ ⊕ a₁₁ ⊕ a₁₃ a₆ a₂ ⊕ a₄ ⊕ a₅ ⊕ a₆ ⊕ a₁₀ ⊕ a₁₂ ⊕ a₁₃ a₇ a₁ ⊕ a₃ ⊕ a₉ ⊕ a₁₁ a₈ a₁ ⊕ a₂ ⊕ a₄ ⊕ a₇ ⊕ a₉ ⊕ a₁₀ ⊕ a₁₂ ⊕ a₁₃ ⊕ a₁₄ a₉ a₃ ⊕ a₇ ⊕ a₁₁ ⊕ a₁₃ ⊕ a₁₄ a₁₀ a₁ ⊕ a₄ ⊕ a₅ ⊕ a₈ ⊕ a₉ ⊕ a₁₂ ⊕ a₁₄ a₁₁ a₁ ⊕ a₃ ⊕ a₅ ⊕ a₇ ⊕ a₉ ⊕ a₁₁ ⊕ a₁₄ a₁₂ a₂ ⊕ a₃ ⊕ a₄ ⊕ a₅ ⊕ a₆ ⊕ a₇ ⊕ a₈ ⊕ a₉ ⊕ a₁₀ ⊕ a₁₁ ⊕ a₁₂ ⊕ a₁₃ ⊕ a₁₄ ⊕ a₁₅ a₁₃ a₁ ⊕ a₁₄ ⊕ a₁₅ a₁₄ a₁ ⊕ a₂ ⊕ a₁₃ ⊕ a₁₅ a₁₅ a₂ ⊕ a₃ ⊕ a₁₄ ⊕ a₁₆ a₁₆ a₃ ⊕ a₄ ⊕ a₁₃ ⊕ a₁₅

Secondly, with Embodiment II, to comply with the diffusion mechanism F²=F(13²:13), the sequential value A^(2×t) ² =A^(2×(t) ² ⁻¹⁾F²⊕BF², wherein BF²=[BF(13:13)]F(13:13), is derived as A², in Embodiment I, equals to [0110100110110010], and further, F²=FF(13²:13), wherein a value FF(13:13), see Table 2, performs the diffusion functions F(13:13), derived as Table 1; the diffusion-table F² is shown in Table 4.

TABLE 4 at time t₂ at time t₂ − 1 a₁ a₁ ⊕ a₃ ⊕ a₅ ⊕ a₇ ⊕ a₉ ⊕ a₁₃ a₂ a₁ ⊕ a₂ ⊕ a₄ ⊕ a₆ ⊕ a₇ ⊕ a₈ ⊕ a₉ ⊕ a₁₀ ⊕ a₁₁ ⊕ a₁₃ ⊕ a₁₄ ⊕ a₁₅ a₃ a₁ ⊕ a₉ a₄ a₁ ⊕ a₂ ⊕ a₁₀ ⊕ a₁₃ a₅ a₃ ⊕ a₅ ⊕ a₁₁ ⊕ a₁₄ ⊕ a₁₅ a₆ a₁ ⊕ a₂ ⊕ a₃ ⊕ a₄ ⊕ a₅ ⊕ a₆ ⊕ a₉ ⊕ a₁₂ ⊕ a₁₄ a₇ a₉ ⊕ a₁₃ a₈ a₁ ⊕ a₂ ⊕ a₅ ⊕ a₁₀ ⊕ a₁₅ a₉ a₂ ⊕ a₉ ⊕ a₁₁ ⊕ a₁₃ a₁₀ a₁ ⊕ a₂ ⊕ a₇ ⊕ a₁₀ ⊕ a₁₂ ⊕ a₁₄ a₁₁ a₁ ⊕ a₂ ⊕ a₅ ⊕ a₉ ⊕ a₁₃ ⊕ a₁₅ a₁₂ a₁ ⊕ a₃ ⊕ a₅ ⊕ a₆ ⊕ a₉ ⊕ a₁₀ ⊕ a₁₃ ⊕ a₁₄ ⊕ a₁₅ ⊕ a₁₆ a₁₃ a₃ ⊕ a₇ ⊕ a₉ ⊕ a₁₁ ⊕ a₁₃ ⊕ a₁₄ ⊕ a₁₅ ⊕ a₁₆ a₁₄ a₁⊕ a₃ ⊕ a₅ ⊕ a₇ ⊕ a₈ ⊕ a₉ ⊕ a₁₀ ⊕ a₁₁ ⊕ a₁₂ ⊕ a₁₅ ⊕ a₁₆ a₁₅ a₃ ⊕ a₄ ⊕ a₇ ⊕ a₈ ⊕ a₉ ⊕ a₁₀ ⊕ a₁₁ ⊕ a₁₂ a₁₆ a₂ ⊕ a₅ ⊕ a₆ ⊕ a₈ ⊕ a₉ ⊕ a₁₀ ⊕ a₁₁ ⊕ a₁₂ ⊕ a₁₃ ⊕ a₁₅ ⊕ a₁₆

Therefore, according to Table 4, new values in sequence as below:

${{{for}\mspace{14mu} t_{2}} = 1},\begin{matrix} {A^{2 \times 1} = {{A^{0}F^{2}} \oplus {BF}^{2}}} \\ {{= {\left\lbrack {0\; 0\; 0\; 0\; 0\; 0\; 0\; 0\; 0\; 0\; 0\; 0\; 0\; 0\; 0\; 0} \right\rbrack \oplus \left\lbrack {0\; 1\; 1\; 0\; 1\; 0\; 0\; 1\; 1\; 0\; 1\; 1\; 0\; 0\; 1\; 0} \right\rbrack}};} \end{matrix}$ ${{{the}\mspace{14mu}{results}\mspace{14mu}{is}\mspace{14mu}{the}\mspace{14mu}{same}\mspace{14mu}{as}\mspace{14mu} A^{1}\mspace{14mu}{in}\mspace{14mu}{Embodiment}\mspace{14mu}{I.{for}}\mspace{14mu} t_{2}} = 2},\begin{matrix} {A^{2 \times 2} = {{A^{2 \times 1}F^{2}} \oplus {BF}^{2}}} \\ {= {\left\lbrack {1\; 1\; 1\; 1\; 0\; 1\; 1\; 1\; 1\; 0\; 0\; 0\; 0\; 1\; 1\; 1}\; \right\rbrack \oplus \left\lbrack {0\; 1\; 1\; 0\; 1\; 0\; 0\; 1\; 1\; 0\; 1\; 1\; 0\; 0\; 1\; 0} \right\rbrack}} \\ {{= {1\; 0\; 0\; 1\; 1\; 1\; 1\; 0\; 0\; 0\; 1\; 1\; 0\; 1\; 0\; 1}};} \end{matrix}$ the  results  is  the  same  as  A⁴  in  Embodiment  II.Derivation  of  A^(2 × 1)F²: Now  that $\begin{matrix} {A^{2 \times 1} = \left\lbrack {a_{1},a_{2},\ldots\mspace{14mu},a_{16}} \right\rbrack} \\ {{= \begin{bmatrix} \overset{1}{0} & \overset{2}{1} & \overset{3}{1} & \overset{4}{0} & \overset{5}{1} & \overset{6}{0} & \overset{7}{0} & \overset{8}{1} & \overset{9}{1} & \overset{10}{0} & \overset{11}{1} & \overset{12}{1} & \overset{13}{0} & \overset{14}{0} & \overset{15}{1} & \overset{16}{0} \end{bmatrix}};} \end{matrix}$ the  next a₁ = a₁ ⊕ a₃ ⊕ a₅ ⊕ a₇ ⊕ a₉ ⊕ a₁₃ = 0 ⊕ 1 ⊕ 1 ⊕ 0 ⊕ 1 ⊕ 0 = 1; the  next $\begin{matrix} {a_{2} = {a_{1} \oplus a_{2} \oplus a_{4} \oplus a_{6} \oplus a_{7} \oplus a_{8} \oplus a_{9} \oplus a_{10} \oplus}} \\ {a_{11} \oplus a_{13} \oplus a_{14} \oplus a_{15}} \\ {= {0 \oplus 1 \oplus 0 \oplus 0 \oplus 0 \oplus 1 \oplus 1 \oplus 0 \oplus 1 \oplus 0 \oplus 0 \oplus 1}} \\ {{= 1};\ldots\mspace{14mu};} \end{matrix}$ the  next $\begin{matrix} {a_{16} = {a_{2} \oplus a_{5} \oplus a_{6} \oplus a_{8} \oplus a_{9} \oplus a_{10} \oplus a_{11} \oplus a_{12} \oplus a_{13} \oplus a_{15} \oplus a_{16}}} \\ {= {{1 \oplus 1 \oplus 0 \oplus 1 \oplus 1 \oplus 0 \oplus 1 \oplus 1 \oplus 0 \oplus 1 \oplus 0} = 1.}} \end{matrix}$

Thirdly, in Embodiment III, now that A is a 4×4 matrix, thus, the F will be a 4×4×16 zero matrix, further, 1's at the i^(th) position on the i^(th) layer; the diffusion function F(p)=F⊕Fx_(i)⊕Fy_(j), may refer to the whole derivation of three-dimensional FF(1:4). According to the diffusion mechanism F¹=F(8:8), the sequential value of diffusion-area A^(1×t) ² =A^(1×(t) ² ⁻¹⁾F¹⊕BF¹, wherein BF¹=BF(8:8)=[1010001000100100], derived as A¹, Embodiment III, and F¹=FF(8:8) is shown in Table 5.

TABLE 5 at time t₂ at time t₂ − 1 a₁ a₁ ⊕ a₄ ⊕ a₅ ⊕ a₆ ⊕ a₉ ⊕ a₁₁ ⊕ a₁₂ ⊕ a₁₆ a₂ a₄ ⊕ a₅ ⊕ a₆ ⊕ a₁₁ ⊕ a₁₂ ⊕ a₁₃ ⊕ a₁₅ a₃ a₁ ⊕ a₂ ⊕ a₇ ⊕ a₈ ⊕ a₁₀ ⊕ a₁₂ ⊕ a₁₃ ⊕ a₁₄ a₄ a₁ ⊕ a₈ ⊕ a₉ ⊕ a₁₁ ⊕ a₁₂ ⊕ a₁₅ a₅ a₁ ⊕ a₅ ⊕ a₆ ⊕ a₉ ⊕ a₁₀ ⊕ a₁₂ ⊕ a₁₃ ⊕ a₁₄ ⊕ a₁₅ ⊕ a₁₆ a₆ a₂ ⊕ a₃ ⊕ a₄ ⊕ a₅ ⊕ a₇ ⊕ a₈ ⊕ a₉ ⊕ a₁₁ ⊕ a₁₄ ⊕ a₁₆ a₇ a₃ ⊕ a₈ ⊕ a₉ ⊕ a₁₂ ⊕ a₁₅ ⊕ a₁₆ a₈ a₁ ⊕ a₂ ⊕ a₃ ⊕ a₅ ⊕ a₇ ⊕ a₁₂ ⊕ a₁₃ ⊕ a₁₅ ⊕ a₁₆ a₉ a₁ ⊕ a₂ ⊕ a₃ ⊕ a₄ ⊕ a₅ ⊕ a₈ ⊕ a₉ ⊕ a₁₃ ⊕ a₁₄ ⊕ a₁₅ ⊕ a₁₆ a₁₀ a₃ ⊕ a₅ ⊕ a₈ ⊕ a₁₀ ⊕ a₁₂ ⊕ a₁₃ ⊕ a₁₄ a₁₁ a₂ ⊕ a₃ ⊕ a₄ ⊕ a₇ ⊕ a₉ ⊕ a₁₁ ⊕ a₁₂ ⊕ a₁₅ a₁₂ a₂ ⊕ a₃ ⊕ a₅ ⊕ a₆ ⊕ a₈ ⊕ a₁₀ ⊕ a₁₁ ⊕ a₁₃ ⊕ a₁₄ a₁₃ a₂ ⊕ a₃ ⊕ a₄ ⊕ a₅ ⊕ a₈ ⊕ a₁₀ ⊕ a₁₂ ⊕ a₁₃ ⊕ a₁₄ ⊕ a₁₅ ⊕ a₁₆ a₁₄ a₄ ⊕ a₆ ⊕ a₇ ⊕ a₈ ⊕ a₉ ⊕ a₁₁ ⊕ a₁₃ ⊕ a₁₄ a₁₅ a₁ ⊕ a₄ ⊕ a₈ ⊕ a₉ ⊕ a₁₀ ⊕ a₁₃ a₁₆ a₁ ⊕ a₂ ⊕ a₄ ⊕ a₅ ⊕ a₆ ⊕ a₁₀ ⊕ a₁₂ ⊕ a₁₅ ⊕ a₁₆ Hardware Architecture in Detail:

FIG. 1, 300, obtaining a new value A^(t) ¹ ^(×t) ² =A^(t) ¹ ^(×(t) ² ⁻¹⁾F^(t) ¹ in a hardware architecture, would transform A^(t) ¹ ^(×t) ² =A^(t) ¹ ^(×(t) ² ⁻¹⁾F^(t) ¹ ⊕BF^(t) ¹ in a parallel process into a first circuit design shown as FIG. 3A, comprising of: a first register R1 provided for storing an input value A^(t) ¹ ^(×(t) ² ⁻¹⁾ 310; a diffuser DF provided for receiving A^(t) ¹ ^(×(t) ² ⁻¹⁾ from R1, further, recombining A^(t) ¹ ^(×(t) ² ⁻¹⁾ with a function-table F^(t) ¹ and transmitting an output value A^(t) ₁ ^(×(t) ² ⁻¹⁾F^(t) ¹ 320; a first memory M1 provided for writing a medium-constant BF^(t) ¹ 330; an XOR Unit provided for receiving A^(t) ¹ ^(×(t) ² ⁻¹⁾F^(t) ¹ from DF as a first operand, BF^(t) ¹ from M1 as a second operand, then, performing a bitwise XOR operation and transmitting an output value A^(t) ¹ ^(×t) ² 340; a second register R2 provided for buffering A^(t) ¹ ^(×t) ² from said XOR Unit, and feeding back said A^(t) ¹ ^(×t) ² to R1 350.

In addition, for the initialization of A, FIG. 2, a password bit selects a first value for A^(t) ¹ ^(×t) ² =A^(t) ¹ ^(×(t) ² ⁻¹⁾F^(t) ¹ ⊕BF^(t) ¹ as by the above architecture, and a second value for A^(t) ¹ ^(×t) ² =A^(t) ¹ ^(×(t) ² ⁻¹⁾F^(t) ¹ shown as FIG. 3B as a second design of FIG. 1, 300, comprising of: a first register R1 provided for storing an input value A^(t) ¹ ^(×(t) ² ⁻¹⁾ 310; a diffuser DF provided for receiving A^(t) ¹ ^(×(t) ² ⁻¹⁾ from R1, further, recombining A^(t) ¹ ^(×(t) ² ⁻¹⁾ with a function-table F^(t) ¹ and transmitting an output value A^(t) ¹ ^(×t) ² 320; a second register R2 provided for buffering A^(t) ¹ ^(×t) ² from DF, and feeding back said A^(t) ¹ ^(×t) ² to R1 350.

The whole scheme is shown as FIG. 3C, a main component, provided for performing a diffusion mechanism 300, as FIG. 1, 300, i.e. FIGS. 3A and 3B; in addition, a switch SW, provided for receiving an input password for initialization 200, as FIG. 1, 200; further comprising of: a multiplexer MUX provided for receiving A^(t) ¹ ^(×t) ² from R2, further, selecting a bit of A^(t) ¹ ^(×t) ² and transmitting the assigned bit 360; a third register R3 provided for storing a stream plaintext/ciphertext in sequence and transmitting a bit each time 400, as FIG. 1, 400; an XOR gate provided for receiving said assigned bit from MUX as a first operand, said bit from R3 as a second operand, then, performing an XOR operation and transmitting an output bit 500, as FIG. 1, 500.

Preferred Embodiment V: Diffusion Mechanisms in Hardware Architecture.

According to Embodiment I in a parallel process, a medium-constant BF¹=BF(13:13)=[1011001101100011] and a diffusion-table F¹=FF(13:13), see Table 3, are generated in advance; therefore, to gain more acceleration, it would write BF¹ to M1, and transform the diffusion-table F¹ into a diffuser DF combined with a number of XOR gates shown as FIG. 4; further, in Embodiment II, write BF²=BF(13²:13)=[0110100110110010] to M1, and transform F²=FF(13²:13), see Table 4, into a diffuser DF; in Embodiment III, BF¹=BF(8:8)=[1010001000100100] to M1, and F¹=FF(8:8), see Table 5, into a diffuser DF.

The above preferred embodiments are not only able to be applied separately, but also, can be taken as a whole. For example, as a number of parallel connections as FIG. 5, every SW, provided for receiving a password in sequence; every IN, provided for receiving an assigned part of a plaintext/ciphertext in sequence; and every OUT, provided for transmitting the assigned part of the ciphertext/plaintext in sequence. In addition, as a number of serial connections as FIG. 6, comprises of: the first SW, provided for receiving the password in sequence, further, the former OUT, connecting to the latter SW; every IN, provided for receiving an assigned part of a plaintext/ciphertext in sequence, and every OUT, provided for transmitting the assigned part of the ciphertext/plaintext in sequence; or for more security, only encrypting or decrypting a plaintext/ciphertext stream in Embodiment III.

In summation of the above description, the present invention herein complies with the constitutional, statutory, regulatory and treaty, patent application requirements and is herewith submitted for patent application. However, the description and its accompanied drawings are used for describing preferred embodiments of the present invention, and it is to be understood that the invention is not limited thereto. To the contrary, it is intended to cover various modifications and similar arrangements and procedures, and the scope of the appended claims therefore should be accorded the broadest interpretation so as to encompass all such modifications and similar arrangements and procedures. 

What is claimed is:
 1. A stream cryptographic method comprising: a communication channel between a first computer and a second computer; a diffusion-area A, wherein A contains an initial value A⁰ and further, is a d₁×d₂× . . . ×d_(m) binary matrix with a combination of positions labeled sequentially from 1 to n; a diffusion mechanism F^(t) ¹ applied to A, notated AF^(t) ¹ in abbreviation, wherein AF^(t) ¹ =AF(p₁, p₂ ^(t) ¹ , . . . , p_(k)); a diffusion-medium S, wherein S is a m-dimensional binary matrix which includes an anchor positon {dot over (S)}; and further, comprising steps of: (I) generating, by the first and the second computers, and assigned bit for steam encryption/decryption by: (a) setting t₂=1, A^(t) ¹ ^(×(t) ² ⁻¹⁾=A⁰; (b) obtaining a new value A^(t) ¹ ^(×t) ² , wherein A^(t) ¹ ^(×t) ² ⁻¹⁾F^(t) ¹ , further comprising steps of: (i) setting t=1; (ii) setting s=1; (iii) letting A^(t) ² ⁻¹=A, and performing A with a diffusion function F(p_(s)), whrein S overlaps A by {dot over (S)} anchoring to the position p_(s) transforming into m-dimension coordinates (i₁, i₂, . . . , i_(m)), then AF(p_(s))=A⊕Ad_(1i)⊕ . . . ⊕Ad_(mi)⊕S, 1≦p_(s)≦n; (iv) if s=k, then going to next step; otherwise, s=s+1, going back to Step(iii); (v) if t≢t₁, then t=t+1, going to Step(ii); (c) outputting the assigned bit of A^(t) ^(1×) ^(t) ² ; (II) encrypting, by the first computer, a bit of a plaintext stream in sequence, wherein the bit of the plaintext stream XORs with the assigned bit of A^(t) ¹ ^(×t) ² ; (III) decrypting, by the second computer, a bit of the ciphertext stream in sequence, received from the first computer, wherein the bit of the ciphertext stream XORs with the assigned bit of A^(t) ¹ ^(×t) ² ; (IV) going back to Step (b), and further, letting t₂=t₂+1.
 2. The stream cryptographic method according to claim 1, Step (a), wherein A⁰ is generated by a password written directly to A, or by reading every password bit, such that A^(t) ¹ ^(×t) ² =A^(t) ¹ ³³(^(t) ² ⁻¹)F^(t) ¹ in sequence for A⁰, if a first value, then including S, otherwise, if a second value, then excluding S wherein S=0.
 3. The stream cryptographic method according to claim 1, further providing a signal to another said method, wherein the former method, Step (c) sends the signal to the latter method, Step (b), if a first value, then including S, otherwise, if a second value, then excluding S, wherein S=0.
 4. A stream cryptographic method comprising: a communications channel between a first computer and a second computer; a diffusion-area A, wherein A contains an initial value A⁰ and further, is a d₁×d₂× . . . ×d_(m) binary matrix with a combination of positions labeled sequentially from 1 to n, accordingly, the bit values from a₁ to a_(n); a function-table F^(t) ¹ applied to A, notated AF^(t) ¹ in abbreviation, wherein F^(t) ¹ has d₁×d₂× . . . ×d_(m) layer, and every layer is a d₁×d₂× . . . ×d_(m), binary matrix; a diffusion-medium S, wherein S is a m-dimensional binary matrix which includes an anchor-position {dot over (S)}; a medium-constant BF^(t) ¹ , wherein BF^(t) ¹ =BF(p₁, p₂ ^(t) ¹ p_(k)) and B is a D₁×d₂=. . . =d_(m) zero matrix; and further, comprising steps of; (I) generating, by the first and second computers, an assigned bit for stream encryption/decryption by; (a) setting t₂=1, A^(t) ¹ ^(×(t) ² ⁻¹⁾=A⁰; (b) obtaining the medium-constant BF^(t) ¹ , further comprising steps of: (i) setting t=1; (ii) setting s=1; (iii) performing B with a diffusion function F(p_(s)), namely BF(p_(s)), wherein S overlaps B by {dot over (S)} anchoring to the position p_(s) transforming into m-dimension coordinates (i₁, i₂, . . . , i_(m)), then BF(p_(s))=B⊕Bd_(1i)⊕Bd_(2i)⊕. . . ⊕ Bd_(mi)⊕S, 1≦p_(s)≦n; (iv) if s=k, then going to next step; otherwise, s=s+1, going back to Step (iii) (v) if t≢t₁, then t=t+1, going back to Step (ii), (c) obtaining a new value A^(t) ¹ ^(×t) ² , wherein A^(t) ¹ ^(×t) ² =A^(t) ¹ ^(×(t) ² ⁻¹⁾F^(t) ¹ ⊕BF^(t) ¹ , wherein A^(t) ¹ ^(×) ^((t) ² ⁻¹)F^(t) ¹ obtains new a_(i), 1≦n, by XORing with said layers having value 1 at position i, wherein the i^(th) layer represent a_(i); (d) outputting an assigned bit of A^(t) ¹ ^(×t) ² ; (II) encrypting, by the first computer, a bit of a plaintext stream in sequence, wherein in the bit of the plaintext stream XORs with the assigned bit of A^(t) ¹ ^(×t) ² ; (III) decrypting, by the second computer, a bit of the ciphertext stream in sequence, received from the first computer, wherein the bit of the ciphertext steam XORs with the assigned bit of A^(t) ¹ ^(×t) ² ; (IV) going to Step (c), and further, ; letting t₂=₂+1.
 5. The stream cryptographic method according to claim 4, Step (c) wherein F^(t) ¹ =FF(p₁, p₂ ^(t) ¹ , . . . , p_(k)) generated once, comprising steps of: (i) setting F is a zero matrix and 1's at the i^(th) position on the i^(th) layer; (ii) setting t=1; (iii) setting s=1; (iv) performing F with a diffusion function F(p_(s)), namely FF(p_(s)), wherein p_(s) is transformed into m-dimension coordinates (i₁, i₂, . . . , i_(m)), then FF(p_(s))=F⊕Fd_(1i)⊕Fd_(2i)⊕ . . . ⊕Fd_(mi), 1≦p_(s)≦n; (v) if s=k, then going to next step; otherwise, s=s+1, going back to Step (iv); (vi) if t≠t₁, then t=t+1, going to back Step (iii).
 6. The stream cryptographic method according to claim 4, Step (a), wherein A⁰ is generated by a password written directly to A, or by reading every password bit, such that A^(t) ¹ ^(×t) ² =A^(t) ¹ ^(×(t) ² ⁻¹⁾F^(t) ¹ ⊕BF^(t) ¹ in sequence for A⁰, if a first value, then including BF^(t) ¹ , otherwise, if a second value, then excluding BF^(t) ¹ wherein BF^(t) ¹ =0.
 7. The stream cryptographic method according to claim 4, further providing a signal to another said method, wherein the former method, Step (d) sends the signal to the latter method, Step(c), if a first value, then including BF^(t) ¹ , otherwise, if a second value, then excluding BF^(t) ¹ wherein BF^(t) ¹ =0.
 8. A stream cryptographic apparatus comprising of: a first register R1 provided for storing an input value A^(t) ¹ ^(×(t) ² ⁻¹⁾; a diffuser DF provided for receiving A^(t) ¹ ^(×(t) ² ⁻¹⁾ from the first register R1, further, recombining A^(t) ¹ ^(×(t) ² ⁻¹⁾ with a function-table F^(t) ¹ and transmitting an output value A^(t) ¹ ^(×t) ² =A^(t) ¹ ^(×(t) ₂ ⁻¹⁾F^(t) ¹ ; a second register R2 provided for receiving and buffering A^(t) ¹ ^(×t) ² from the diffuser DF, then, feeding back said A^(t) ¹ ^(×t) ² to the first register R1; a multiplexer MUX provided for receiving A^(t) ¹ ^(×t) ² from the second register R2, further, selecting an assigned bit of A^(t) ¹ ^(×t) ² and transmitting the assigned bit; a third register R3 provided for storing a plaintext/ciphertext stream in sequence, the third register R3 input marked IN, and transmitting a bit each time; an XOR gate provided for receiving said assigned bit from the multiplexer MUX as a first operand, said bit from the third register R3 as a second operand, then, performing an exclusive or operation and transmitting an output bit; the output marked OUT.
 9. The stream cryptographic apparatus according to claim 8, the first register R1 further provided for storing an initial value A⁰ written directly by a password.
 10. The stream cryptographic apparatus according to claim 8, further comprising of: a first memory M1 provided for storing a medium-constant BF^(t) ¹ ; an XOR Unit provided for receiving A^(t) ¹ ^(×t) ² from the diffuser DF as a first operand, the medium-constant BF^(t) ¹ from the first memory M1 as a second operand, then, performing an bitwise exclusive or operation and transmitting an output value A^(t) ¹ ^(×t) ² =A^(t) ¹ ^(×t) ² ⊕BF^(t) ¹ ; the second register R2 provided for receiving and buffering A^(t) ¹ ^(×t) ² from the XOR Unit, then, feeding back said A^(t) ¹ ^(×t) ² to the first register R1; a switch SW provided for receiving a password in sequence and performing said F^(t) ¹ recombination, further checking the bit if a first value, then the second register R2 receiving from the diffuser DF, if a second value, then the second register R2 receiving from the XOR Unit.
 11. The stream cryptographic apparatus according to claim 10, the first register R1 further provided for storing an initial value A⁰ by the switch SW receiving the password in sequence.
 12. The stream cryptographic apparatus according to claim 10, further provided for a parallel connecting to another said apparatuses, comprising of: every apparatus, the switch SW, provided for receiving a password in sequence; every apparatus, the third register R3 input IN, provided for receiving an assigned part of a plaintext/ciphertext in sequence; every apparatus, the XOR gate's output OUT, provided for transmitting the assigned part of the ciphertext/plaintext in sequence.
 13. The stream cryptographic apparatus according to claim 10, further provided for a serial connecting to another said apparatuses, comprising of: the first apparatus, the switch SW, provided for receiving a password in sequence; the last apparatus, the third register R3 input IN, provided for receiving a plaintext/ciphertext in sequence; the last apparatus, the XOR gate's output OUT, provided for transmitting the ciphertext/plaintext in sequence; every apparatus except the first one, the switch SW, provided for receiving the output from the former apparatus, the XOR gate's output OUT; every apparatus except the last one, the XOR gate's output OUT, provided for transmitting the output to the latter apparatus, the switch SW.
 14. The stream cryptographic apparatus according to claim 13, further comprising of: every apparatus, the third register R3 input IN, provided for receiving an assigned part of a plaintext/ciphertext in sequence; every apparatus, the XOR gate's output OUT, provided for transmitting the assigned part of the ciphertext/plaintext in sequence. 